using System;
 using System.Collections.Generic;
 using System.Text;
 using System.Data;
 using System.Data.SqlClient;
 using MinhTam.DataAccess.Web;
//───────────────────────────────────────────────────────────────────────────────────────
 namespace MinhTam.Objects
  { 
 public class TINH_THANH:  SQLConnectWeb { 
 public static string sTableName= "TINH_THANH"; 
   public string TINH_THANH_ID;
   public string TEN_TINH_THANH;
   public string SAP_XEP;
   #region DataColumn Name ;
 public static  string cl_TINH_THANH_ID="TINH_THANH_ID" ;
 public static  string cl_TEN_TINH_THANH="TEN_TINH_THANH" ;
 public static  string cl_SAP_XEP="SAP_XEP" ;
 #endregion;
//───────────────────────────────────────────────────────────────────────────────────────
       public TINH_THANH() {}
//───────────────────────────────────────────────────────────────────────────────────────
       public TINH_THANH(
         string sTINH_THANH_ID,
         string sTEN_TINH_THANH,
         string sSAP_XEP){
         this.TINH_THANH_ID= sTINH_THANH_ID;
         this.TEN_TINH_THANH= sTEN_TINH_THANH;
         this.SAP_XEP= sSAP_XEP;
}
//───────────────────────────────────────────────────────────────────────────────────────
       public static TINH_THANH Create_TINH_THANH ( string sTINH_THANH_ID  ){
    DataTable dt=SearchByTINH_THANH_ID(sTINH_THANH_ID) ;
    if(dt!=null && dt.Rows.Count>0) 
      return new TINH_THANH(dt,0);
      return null;
}
//───────────────────────────────────────────────────────────────────────────────────────
   private static string s_Select()
    {
   return " SELECT T.* FROM TINH_THANH AS T";
    }
//───────────────────────────────────────────────────────────────────────────────────────
 public TINH_THANH( DataTable table,int pos)
{
         this.TINH_THANH_ID= table.Rows[pos]["TINH_THANH_ID"].ToString();
         this.TEN_TINH_THANH= table.Rows[pos]["TEN_TINH_THANH"].ToString();
         this.SAP_XEP= table.Rows[pos]["SAP_XEP"].ToString();
}
//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchByTINH_THANH_ID(string sTINH_THANH_ID)
{
          string sqlSelect= s_Select()+ " WHERE TINH_THANH_ID  ="+ sTINH_THANH_ID + ""; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchByTINH_THANH_ID(string sTINH_THANH_ID,string sMatch)
{
          string sqlSelect= s_Select()+ " WHERE TINH_THANH_ID"+ sMatch +sTINH_THANH_ID + ""; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchByTEN_TINH_THANH(string sTEN_TINH_THANH)
{
          string sqlSelect= s_Select()+ " WHERE TEN_TINH_THANH  Like N'%"+ sTEN_TINH_THANH + "%'"; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchBySAP_XEP(string sSAP_XEP)
{
          string sqlSelect= s_Select()+ " WHERE SAP_XEP  ="+ sSAP_XEP + ""; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchBySAP_XEP(string sSAP_XEP,string sMatch)
{
          string sqlSelect= s_Select()+ " WHERE SAP_XEP"+ sMatch +sSAP_XEP + ""; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable Search( string sTINH_THANH_ID
            , string sTEN_TINH_THANH
            , string sSAP_XEP
            )
 {
       string sqlselect=s_Select() + " WHERE" ;
      if (sTINH_THANH_ID!=null && sTINH_THANH_ID!="") 
            sqlselect +=" AND TINH_THANH_ID =" + sTINH_THANH_ID ;
      if (sTEN_TINH_THANH!=null && sTEN_TINH_THANH!="") 
            sqlselect +=" AND TEN_TINH_THANH LIKE N'%" + sTEN_TINH_THANH +"%'" ;
      if (sSAP_XEP!=null && sSAP_XEP!="") 
            sqlselect +=" AND SAP_XEP =" + sSAP_XEP ;
   sqlselect=sqlselect.Replace("WHERE AND","WHERE");
   int n=sqlselect.IndexOf("WHERE");
   if(n==sqlselect.Length -5) sqlselect=sqlselect.Remove(n,5) ;
   return GetTable(sqlselect,sTableName);
}
//───────────────────────────────────────────────────────────────────────────────────────
 public static TINH_THANH Insert_Object(
string  sTEN_TINH_THANH
            ,string  sSAP_XEP
            ) 
 { 
              string tem_sTEN_TINH_THANH=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sTEN_TINH_THANH,"nvarchar");
              string tem_sSAP_XEP=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sSAP_XEP,"int");

             string sqlSave=" INSERT INTO TINH_THANH("+
                   "TEN_TINH_THANH," 
        +                   "SAP_XEP) VALUES("
 +tem_sTEN_TINH_THANH+","
 +tem_sSAP_XEP +")";
             bool OK = Exec(sqlSave)>=1?true:false;
           if (OK) 
           { 
          TINH_THANH newTINH_THANH= new TINH_THANH();
                 newTINH_THANH.TINH_THANH_ID=GetTable( " SELECT TOP 1 TINH_THANH_ID FROM TINH_THANH ORDER BY TINH_THANH_ID DESC ").Rows[0][0].ToString();
              newTINH_THANH.TEN_TINH_THANH=sTEN_TINH_THANH;
              newTINH_THANH.SAP_XEP=sSAP_XEP;
            return newTINH_THANH; 
           } 
           else return null ;
}
//───────────────────────────────────────────────────────────────────────────────────────
public bool  Save_Object(string sTEN_TINH_THANH
                ,string sSAP_XEP
                ) 
 { 
              string tem_sTEN_TINH_THANH=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sTEN_TINH_THANH,"nvarchar");
              string tem_sSAP_XEP=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sSAP_XEP,"int");

 string sqlSave=" UPDATE TINH_THANH SET "+"TEN_TINH_THANH ="+tem_sTEN_TINH_THANH+","
 +"SAP_XEP ="+tem_sSAP_XEP+" WHERE TINH_THANH_ID="+MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(this.TINH_THANH_ID,"int identity");;
              bool OK = Exec(sqlSave)>=1?true:false;
           if (OK) 
           { 
                this.TEN_TINH_THANH=sTEN_TINH_THANH;
                this.SAP_XEP=sSAP_XEP;
           } 
 return OK;  }
//───────────────────────────────────────────────────────────────────────────────────────
 #region Update DataColumn  
 public bool Update_TINH_THANH_ID(string sTINH_THANH_ID)
{
    string sqlSave= " UPDATE TINH_THANH SET TINH_THANH_ID='"+ sTINH_THANH_ID+ "' WHERE TINH_THANH_ID='"+ this.TINH_THANH_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 if(OK)
 {
    this.TINH_THANH_ID=sTINH_THANH_ID;
 }
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 public bool Update_TEN_TINH_THANH(string sTEN_TINH_THANH)
{
    string sqlSave= " UPDATE TINH_THANH SET TEN_TINH_THANH='N"+ sTEN_TINH_THANH+ "' WHERE TINH_THANH_ID='"+ this.TINH_THANH_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 if(OK)
 {
    this.TEN_TINH_THANH=sTEN_TINH_THANH;
 }
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 public bool Update_SAP_XEP(string sSAP_XEP)
{
    string sqlSave= " UPDATE TINH_THANH SET SAP_XEP='"+ sSAP_XEP+ "' WHERE TINH_THANH_ID='"+ this.TINH_THANH_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 if(OK)
 {
    this.SAP_XEP=sSAP_XEP;
 }
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 #endregion
 #region Update DataColumn  Static 
 public static bool Update_TEN_TINH_THANH(string sTEN_TINH_THANH,string s_TINH_THANH_ID)
{
  string sqlSave= " UPDATE TINH_THANH SET TEN_TINH_THANH='N"+sTEN_TINH_THANH+"' WHERE TINH_THANH_ID='"+ s_TINH_THANH_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 public static bool Update_SAP_XEP(string sSAP_XEP,string s_TINH_THANH_ID)
{
  string sqlSave= " UPDATE TINH_THANH SET SAP_XEP='"+sSAP_XEP+"' WHERE TINH_THANH_ID='"+ s_TINH_THANH_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
#endregion
//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable GetTableAll() 
 {
       return  GetTableAll(null, null);
 }
public static DataTable GetTableAll(string sWhere, params string[] orderFields)
{
   string sqlSelect = " SELECT * FROM TINH_THANH";
   if (!string.IsNullOrEmpty(sWhere))
      sqlSelect += " where " + sWhere; 
   string order = "";
   if (orderFields != null && orderFields.Length > 0)
     order = string.Join(",", orderFields);
   if (order != "")
      sqlSelect += " ORDER BY " + order;
   return GetTable(sqlSelect,sTableName);
}
//───────────────────────────────────────────────────────────────────────────────────────
//───────────────────────────────────────────────────────────────────────────────────────
public static DataTable GetTableFields(string sWhere, string[] orderFields, params string[] fields)
{
 string field = "";
 if (fields != null && fields.Length > 0)
    field = string.Join(",", fields);
 else field = "*";
 string sqlSelect = string.Format(" SELECT {0} FROM {1} ", field, "TINH_THANH");
 if (!string.IsNullOrEmpty(sWhere))
    sqlSelect += " where " + sWhere;
 string order = "";
 if (orderFields != null && orderFields.Length > 0)
    order = string.Join(",", orderFields);
 if (order != "")
    sqlSelect += " ORDER BY " + order;
 return GetTable(sqlSelect,sTableName);
 }
 public static DataTable GetTableFields(params string[] fields)
 {
    return GetTableFields(null, null, fields);
 }
 public static DataTable GetTableFields(string[] orderFields, params string[] fields)
 {
    return GetTableFields(null, orderFields, fields);
 }
//───────────────────────────────────────────────────────────────────────────────────────
   private static DataTable dt_TINH_THANH;
   public static bool Change_dt_TINH_THANH = true;
   public static bool AllowAutoChange = true;
   public static DataTable get_TINH_THANH()
   {
   if (dt_TINH_THANH == null || Change_dt_TINH_THANH == true)
     {
   dt_TINH_THANH = GetTableAll();
         Change_dt_TINH_THANH = true && AllowAutoChange ;
     }
     return dt_TINH_THANH;
   }
   //───────────────────────────────────────────────────────────────────────────────────────
}  
 } 
